home *** CD-ROM | disk | FTP | other *** search
-
-
- ST Tools Version 1.9
-
-
- Table of Contents
-
- Introduction
- Copyright
- Program Overview
- Requirements
- Limitations
- Technical Notes
- Using ST Tools
- Icons
- Windows
- Drop-Down Menus
- Desk Menu
- About ST Tools
- Desk Accessories
- File Menu
- Save Configuration
- Open Log File
- Suspend/Continue Log File
- Close Log File
- Touch File(s)
- UnDelete File(s)
- Quit
- View Menu
- Names Compressed
- Names with Periods
- Names with Spaces
- Names Unchanged
- View as Large Text
- View as Small Text
- Sort Menu
- Sort Items by Name
- Sort Items by Date_Time
- Sort Items by Size
- Sort Items by Extension
- No Sort
- Function Menu
- List Disk Information
- List/Edit FAT Entries
- HexDump File
- HexDump Sector
- HexDump Memory
- Search File
- Search Sector
- Search Memory
- Check File Structure
- Repair File Structure
- Optimize File Structure
- Repair and Optimization Warnings
- Options Menu
- Single Tree
- Double Tree
- View Window On/Off
- Start/GoTo Location Dialog Box
- Search String Dialog Box
- Edit Dialog Box
-
-
-
-
-
-
-
- Introduction
-
-
- Copyright
-
- ST Tools is copyright 1991, 1992 Stephen Cornio. All Rights Reserved.
- This program is being distributed as shareware with a $10 suggested
- contribution. This program may be posted on any public BBS as long as it is
- not modified and the documentation is included. Any comments and/or
- suggestions would be appreciated. I can be reached on CompuServe (73637,2527),
- or send me mail.
-
- Stephen Cornio
- P.O. Box 1734
- Woodbridge, VA 22193
-
-
- Program Overview
-
- ST Tools is reminiscent of PC Tools for MS-DOS computers. The main display
- includes a directory tree and a listing of files by directory. As the name
- implies, the program is a set of tools for use on the Atari ST. Current
- functions include listing/editing of File Allocation Tables, Hex dumping of
- files, sectors or memory, searching files, sectors or memory, check, repair
- and optimize file structure. The program is entirely GEM based, with the
- standard drop-down menus, scrollable windows and dialog boxes.
-
-
- Requirements
-
- ST Tools requires a minimum of 350K of free memory to execute. The program
- will perform disk optimization more efficiently if there is more memory
- available. The program will run in both High and Medium resolutions and has
- been tested with versions 1.2 and 1.4 of TOS.
-
-
- Limitations
-
- ST Tools has the following known limitations. Disks are limited to a
- maximum of 512 directories and sub-directories in the tree window. Each
- directory is limited to 512 files in the file window. There is no limit on the
- size of the disk. The program has support for BGM partitions with sectors up
- to 8K in size.
-
-
- Technical Notes
-
- ST Tools is written almost entirely in FORTRAN using Prospero FORTRAN for
- GEM, along with the Prospero Developers Toolkit, specifically its Make facility
- and macro assembler. Assembly language is used to process the File Allocation
- Tables, perform logical bit functions and other operations not easily performed
- by FORTRAN.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Using ST Tools
-
-
- Icons
-
- Disk icons representing each floppy disk and hard-disk partition as well as
- any RAM-disk are displayed across the bottom of the screen. The current disk
- will be indicated by a highlighted icon. To make a different disk be the
- current disk, simply click on the desired icon. To re-read the directory tree
- for a disk, hold the Shift key while clicking on the disk icon. This is
- particularly useful on a system with a single floppy drive to change floppies.
-
-
- Windows
-
- The main display consists of two windows. The left window is a directory
- tree of the current floppy or hard-disk partition with the current directory
- indicated by a highlighted line. The right window is a list of files,
- including directories, found in the current directory with the current file
- indicated by a highlighted line. When the program starts, the left window is
- active. To make the file window active, simply click in the right window or
- press the right arrow key. To return to the directory window, either click in
- the right window or press the left arrow key. To change the current directory
- when in the left or directory window, you can click on the desired directory or
- use the slider or use the up and down arrow keys. The same methods will work
- to change the current file when the right or file window is active. Note that
- clicking on a file will cause that file to be selected. This will be indicated
- by an asterisk (*) in front of the file name. To deselect a file, simply click
- on the file a second time. Selected files are important whenever a file
- function is performed. If no files are selected, then the function starts at
- the current file and all files in the directory are accessible. If any files
- are selected, then only those files are accessible by the function, in the
- order that they were selected.
-
- Normally the file window will show the filename, size, date, time of last
- modification and file attributes. By clicking on the full window button, the
- file window will be expanded to cover the directory window and the first
- cluster and sector of the file will also be displayed. Click again on the full
- window button to return to normal size file window.
-
-
- Drop_Down Menus
-
- Across the top of the screen is found a standard menu bar. All of the
- program's features and functions are accessed by using the drop-down menus
- contained on this menu bar.
-
-
- Desk Menu
-
- About ST Tools
-
- Clicking on the "About ST Tools" entry in the Desk menu will display
- copyright information about the program, along with my name and address.
-
- Desk Accessories
-
- Desk accessories will work within ST Tools, including MultiDesk. The desk
- accessories are selected in the normal manner, by clicking on them.
-
-
-
-
-
-
-
- File Menu
-
- Save Configuration
-
- The "Save Configuration" entry will cause the standard file selector to be
- displayed with the standard name 'ST_TOOLS.CFG' listed as the selection. Click
- on the "OK" button to save the current configuration to this file. This file
- is used on program startup to alter the standard initial Name, View, Sort and
- Option defaults.
-
-
- Open Log File
-
- The "Open Log File" entry will cause the standard file selector to be
- displayed with the standard name 'ST_TOOLS.LOG' listed as the selection. Click
- on the "OK" button to open this file for logging output. Note that this file
- will be overwritten and not appended to. When the log file is open and not
- suspended, the data displayed by the functions will be output to the log file.
- Each standard display will occupy 22 lines, so that 3 displays will fill a
- printed page of 66 lines.
-
- Suspend/Continue Log File
-
- The "Suspend/Continue Log File" entry is used to temporarily suspend and
- then continue writing to the log file. When a log file is opened, the entry
- will read "Suspend Log File". If this option is selected, the entry will be
- changed to read "Continue Log File".
-
- Close Log File
-
- The "Close Log File" entry will cause the log file to be closed.
-
- Touch File(s)
-
- This entry will allow the user to "Touch" files in the current directory.
- This will cause the Archive bit to be set and the Date/Time to be updated.
-
- UnDelete File(s)
-
- This entry will allow the user to "UnDelete" files from the current
- directory. The 'UnDelete' button will only be enabled for those files where
- enough contiguous free blocks are found where the file was before being
- deleted. There is no guarantee that these blocks have the same contents as
- before the file was deleted.
-
- Quit
-
- Clicking on the "Quit" entry will cause the program to terminate
- immediately.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- View Menu
-
- The "View Menu" is broken into two sections. The top section is used to
- select the "Name" option, which determines how the names found in each
- directory are listed. The bottom section is used to select the "View" option,
- which determines the number of directories or files that can be listed in each
- window. This section is only of use in high resolution.
-
- Names Compressed
-
- The "Names Compressed" entry will cause the file names to be listed with a
- period between the main part of the name and its extension with any embedded
- blanks deleted as in 'NAME.EXT'.
-
- Names with Periods
-
- This entry is similar to the one above except that the embedded blanks will
- be included as in 'NAME .EXT'.
-
- Names with Spaces
-
- This entry will cause the file names to be listed with a space between the
- main part of the name and the extension with embedded blanks included as in
- 'FILENAME EXT'.
-
- Names Unchanged
-
- This entry will cause the file names to be listed exactly as they are in
- the directory itself as in 'FILENAMEEXT'.
-
- View as Large Text
-
- The "View as Large Text" entry will cause the font appropriate for the
- current screen resolution to be used, resulting in 19 directories and files to
- be listed in each window.
-
- View as Small Text
-
- This entry which is only available in high resolution (monochrome) mode,
- will cause the medium resolution character font to be used, resulting in double
- the number of directories and files to be listed in each window.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sort Menu
-
- Sort Items by Name
-
- The "Sort Items by Name" entry will cause files listed to be sorted by
- name, with directories first.
-
- Sort Items by Date-Time
-
- This entry will cause the files listed to be sorted by Date and Time of
- last modification, with directories first.
-
- Sort Items by Size
-
- This entry will cause the files listed to be sorted by size of the file,
- with directories first.
-
- Sort Items by Extension
-
- This entry will cause the files listed to be sorted by their extensions,
- with directories first.
-
- No Sort
-
- This last entry will cause the files listed to not be sorted at all, but
- instead shown in the order as defined in the directory.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Function Menu
-
- List Disk Information
-
- The "List Disk Information" entry will cause various pieces of information
- about the current disk to be listed. This information includes FAT size, the
- total number of sectors on the disk, the number of usable clusters on the disk,
- and any volume label, including a NeoDesk label if it exists.
-
- List/Edit FAT Entries
-
- This entry will allow the listing and editing of FAT entries for the
- current disk. A starting FAT entry dialog box will first be presented in order
- to allow the user to select the FAT to start listing at. After the "List"
- button is clicked, the selected FAT will be displayed in hexadecimal. For
- floppies, the pointer is usually 12 bits which translates to 3 hexadecimal
- digits. For hard disks, the pointer is normally 16 bits or 4 hexadecimal
- digits. To indicate end-of-file, negative one is used, 'FFF' for floppies or
- 'FFFF' for hard disks. Seven buttons are displayed in this dialog box.
- "First" will display the first set of entries. "Prev" will display the
- previous set of entries. "Edit" will allow the user to edit the FATs displayed
- on the screen. "Exit" will cause this dialog box to exit. "GoTo" will present
- a go to FAT dialog box to allow the user to select a FAT to go to. "Next" will
- display the next set of entries. "Last" will display the last set of entries.
-
- HexDump File
-
- The "HexDump File" entry will cause the selected files, or current file if
- no files are selected, to be dumped to the screen in a dialog box. The dump is
- both in hexadecimal and in Ascii. The file name, sector number and cluster
- number within the file, and absolute disk sector will be displayed at the top
- of the dialog box. Eight buttons are displayed at the bottom of the box.
- "Prev File" will cause the previous file to be dumped. "First" will dump the
- first sector of the current dump file. "Prev" will dump the previous sector of
- the current dump file. "Edit" will allow the user to edit or modify the data
- displayed on the screen. "Exit" will cause this dialog box to exit. "Next"
- will dump the next sector of the current dump file. "Last" will dump the last
- sector of the current dump file. "Next File" will cause the next file to be
- dumped.
-
- HexDump Sector
-
- This entry will allow any sector of the current disk to be dumped to the
- screen in a dialog box. A starting sector dialog box will first be presented
- in order to allow the user to select the sector to start dumping at. Once the
- starting sector is selected and the "Dump" button is clicked, the sector will
- be dumped in both hexadecimal and Ascii. The sector number and type of sector,
- Boot, FAT, Root or Data will be displayed at the top of the box. Seven buttons
- are displayed at the bottom of the box. "First" will dump the first sector of
- the disk or Boot sector. "Prev" will dump the previous sector of the disk.
- "Edit" will allow the user to edit the current data on the screen. "Exit" will
- cause this dialog box to exit. "GoTo" will present a go to sector dialog box
- to allow the user to select a sector to go to. "Next" will dump the next
- sector of the disk. "Last" will dump the last sector of the disk.
-
-
-
-
-
-
-
-
-
-
-
-
- HexDump Memory
-
- This entry will allow any block of memory to be dumped to the screen in a
- dialog box. This can be RAM, ROM or hardware chips such as DMA, video or sound
- chips. A starting memory dialog box will first be presented which will allow
- the user to select the memory to start at. Once this is done and the "Dump"
- button is clicked, the standard dump screen will be displayed. The actual
- address of memory dumped is listed to the left. Six buttons are displayed at
- the bottom of the box. "First" will dump the first block of memory. "Prev"
- will dump the previous block of memory. "Edit" will allow the user to edit the
- data on the screen. "Exit" will cause this dialog box to exit. "GoTo" will
- present a go to memory dialog box to allow the user to select the memory to go
- to. "Next" will dump the next block of memory. "Last" will dump the last
- block of memory. Note that if the memory displayed is not RAM, then the "Edit"
- button will be disabled.
-
- Search File
-
- The "Search File" entry will cause the selected files, or current file if
- no files are selected, to be searched for a 16 character long string. The
- string may be input in either hexadecimal or Ascii. The search may be case
- sensitive of insensitive. The search may be in a forward or backward
- direction. While the files are being searched, their names will be displayed
- at the top of the search dialog box. The search may be stopped at any time by
- clicking on the "Stop" button or pressing the Return key. Once the string has
- been found, the dump file screen will be displayed with the search string
- indicated by reverse video on monochrome and green text on color systems. Six
- buttons are displayed at the bottom of the box. "Search Prev" will search for
- a previous instance of the string. "Prev Block" will dump the previous block
- of the file displayed. "Edit" and "Exit" work as usual. "Next Block" will
- dump the next block of the file displayed. "Search Next" will search for the
- next instance of the string.
-
- Search Sector
-
- This entry will allow the searching of disk sectors. The starting sector
- dialog box is displayed followed by the search dialog box. Once the search is
- started, the sectors being searched will be displayed at the top of the search
- dialog box. When the string is found, the dump sector screen will be displayed
- with the same six buttons found on the "Search File" dialog box, plus a "GoTo"
- button to allow the user to go to a particular sector.
-
- Search Memory
-
- This entry will allow the searching of memory. The starting sector and the
- search dialog boxes will be displayed to determine the starting memory and the
- string to search for. When the string is found, the dump memory screen will be
- displayed with the same seven buttons as above.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Check File Structure
-
- This entry will allow the user to check the file structure of the current
- disk. Each file on the disk is checked for various problems. The file
- currently being checked will be displayed. Whenever an error occurs, a message
- describing the error will be displayed and the user can either continue
- checking or cancel. Even when no errors occur, the user can stop at any time
- by clicking on the "Stop" button or pressing the Return key. A single press of
- the Return key works better since the keyboard controller will buffer the
- keystroke, whereas the mouse click must occur during the short period of time
- that is waited between each file.
- The file '.' in each directory is checked to verify that it points to the
- current directory. The file '..' in each directory is checked to verify that
- it points to the directory's parent directory. The clusters of each file are
- traced to check for unused and illegal clusters in the path. Collisions
- between a file and itself or between one file and another file are tested for.
- The size of the file is compared with the number of clusters assigned. After
- all of the files have been checked, the File Allocation Table is scanned to
- check for orphan files, that is files beginning at clusters marked as used but
- not pointed to by a directory entry. If any orphan files are found, each of
- them is traced in the same way as normal files. Once the checking process has
- completed, a display will be presented showing the results. One of two
- functions will be enabled depending on the results of the file check. If any
- errors exist, the user may Repair the file structure. If no errors exist, the
- user may Optimize the file structure. In either case, the user may Exit after
- viewing the results. The following statistics will be displayed.
- Total FAT Clusters - The total number of usable clusters on the disk.
- Total File Clusters - The total number of clusters assigned to files,
- both normal and Orphan.
- Total Free Clusters - The total number of unused clusters on the disk.
- Free Cluster Fragments - The number of parts of contiguous free clusters.
- Ideally this should equal 1. The higher the
- number, the more fragmented free space is.
- Total Files - The total number of files (including directories)
- referenced by entries in directories.
- Zero Length Files - The number of these files of size 0 with no clusters
- assigned.
- Contiguous Files - The number of these files where all file cluster are
- contiguous on disk.
- Fragmented Files - The number of these files where at least one file
- cluster is not contiguous with the previous cluster.
- Total Good Files - The number of these files that have no problems.
- (I.E. zero length, contiguous and fragmented files)
- Directory File Starts - The number of files pointed to by a directory
- entry (must have at least one cluster).
- FAT File Starts - The number of clusters marked as in use, but not
- pointed to by another cluster.
- FAT File Endings - The number of clusters marked as EOF.
- Orphan File Starts - This is the number of FAT file starts that have no
- corresponding Directory file start.
- Invalid File Endings - This is the number of files, both normal and
- orphan, that end in an unused cluster or an illegal
- cluster or have the wrong number of file clusters
- assigned based on file size.
- File Collisions - The number of files that collide with themselves or
- with another file.
- Invalid Current Dirs - The number of current directory files, '.', that
- don't point to the correct cuurent directory.
- Invalid Parent Dirs - The number of parent directory files, '..', that
- don't point to the correct parent directory.
- Total Errors - This is the sum of the five previous numbers, which are
- all considered to be errors.
-
-
-
-
- Repair File Structure
-
- This function is only reachable from within the Check File Structure
- function. If the number of errors from the Check File Structure is not 0, then
- the "Repair" button will be enabled on the File Statistics display. If the
- user clicks on this button a warning will be displayed allowing the user to
- change their mind. If the "Continue" button is selected, the repairs will be
- performed automatically. The file path of each file being repaired along with
- the type of error will be displayed. The user may stop at any time by clicking
- on the "Stop" button or pressing the Return key. As in the Check function
- above, the Return key is more reliable than clicking. The program will stop
- after the current repair is finished. Once stopped, the user may cancel the
- function or continue the repairs. During repairs, file starting clusters, file
- sizes and date-time stamps may be changed. If there are any Orphan files, an
- Orphan directory will be created in the Root directory to hold them. If two
- files are in collision, the clusters shared by the two files will be duplicated
- so that both files contain the contested data. After all repairs have
- finished, the disk directory tree is read again to ensure that any files
- created or deleted are properly indicated. Once any disk is repaired, the
- program will re-boot the computer when "Quit" is selected from the File menu.
-
- Optimize File Structure
-
- This function is only reachable from within the Check File Structure
- function. If the number of errors from the Check File Structure is 0, then the
- "Optimize" button will be enabled on the File Statistics display. When the
- "Optimize" button is selected, an Optimization Options display will be
- presented to allow for a choice of option. The options are whether or not to
- delete zero length files and whether or not to move directories to the front of
- the disk. If the second option is selected, then all directories will be moved
- in the order they are listed in the directory tree window. This display has a
- "Continue" and a "Cancel" button. If the user clicks on the "Continue" button,
- a final warning will be displayed allowing the user to change their mind. If
- the "Continue" button is selected, the optimization will be performed
- automatically. First, all zero length files are deleted. Then any fragmented
- files are moved to contiguous free blocks at the end of the disk. The file
- path of each file being deleted or defragmented will be displayed. The user
- will be notified of any files which are not able to be defragmented due to not
- enough contiguous free clusters at the end of the disk. These files will most
- likely be defragmented as part of the free cluster bubble up process. The free
- clusters are bubbled to the end of the disk by moving files towards the front
- of the disk. The user may stop at any time by clicking on the "Stop" button or
- pressing the Return key. As in the Check function above, the Return key is
- more reliable than clicking. The program will stop after the current file
- delete or move is finished. Once stopped, the user may cancel the function or
- continue the optimization. Every time a file is moved, the file starting
- cluster will be changed. After all free blocks have been made contiguous, the
- directory tree is processed again to ensure that any files deleted are properly
- indicated. Once any disk is optimized, the program will re-boot the computer
- when "Quit" is selected from the File menu.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Repair and Optimization Warnings
-
- Please note that the disk repair and optimization functions perform a great
- deal of modification to the directory and FAT sectors of the disk. Disk
- backups should be performed before either of these functions is selected. The
- author of ST Tools is not responsible for any damage caused by the use or
- misuse of this program. If any disk I/O errors occur during these functions,
- the function will be stopped immediately to minimize any damage caused. A log
- file can not be opened on a disk being repaired or optimized or on any disk
- already repaired or optimized during this session. This is to ensure that the
- operating system doesn't conflict with the repair or optimization process. A
- log file may be open on a disk not being repaired or optimized. If a log file
- is open, any errors found during the check process will be written to it along
- with the error message. Also all files repaired, deleted or defragmented will
- be listed on the log file.
-
-
- Options Menu
-
- Single Tree
-
- This entry, which is only enabled when in double tree mode, will switch the
- display to the normal single pair of windows. If the two sets of windows are
- displaying different disks when this option is selected, then the disk on the
- active pair of windows when this entry is selected will become the disk
- displayed in single tree mode.
-
- Double Tree
-
- This entry, which is only enabled when in single tree mode and the view
- window is not active, will cause a copy of the two windows to be opened below
- the original pair of windows. The directory tree window of this set of windows
- will become the active window. Once opened, this second set of windows is
- totally independent of the first set of windows. Different directories on the
- same disk or different disks may be displayed in each set of windows.
-
- View Window On/Off
-
- This entry, which is only enabled when in single tree mode, will toggle the
- opening and closing of a view window below the directory and file windows. The
- current file will be displayed in this window in both hexadecimal and Ascii
- similar to the hexdump displays. A vertical scroll bar is present which will
- allow scrolling through the file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Start/GoTo Location Dialog Box
-
- The Start location dialog box is used any time the List/Edit FAT Entries
- function or a dump or search of disk sectors or memory is requested from the
- "Function" drop-down menu. The title of the box will reflect the function
- requested. For FAT functions, the maximimum FAT of the current disk is
- displayed. For disk sector functions, the maximum disk sector on the current
- disk is displayed. For memory functions, the maximum memory (FFFFFF or 16
- megabytes) is displayed. By clicking on the '+' and '-' buttons, each digit of
- the starting FAT/sector/memory can be increased or decreased. A "Cancel"
- button is provided to cancel the requested function. The other button will be
- "List", "Dump" or "Search" to reflect the type of function to be performed.
- Clicking on this button will cause the program to proceed to the next step.
- For FAT functions the desired FAT will be listed. For "Dump" functions the
- desired sector or memory will be dumped. For "Search" functions, the Search
- String dialog box will be displayed and processed. From within FAT lists, and
- sector and memory dumps, a "GoTo" button will be available for selection.
- Selecting this button will cause the GoTo location dialog box to appear. This
- dialog box functions the same as the Start location dialog box.
-
-
- Search String Dialog Box
-
- This dialog box is used any time a search of files, disk sectors or memory
- is requested from the "Function" drop-down menu. The title of the box will
- reflect the type of string being searched for, hexadecimal or Ascii. The type
- of string may be toggled by clicking on the desired search type. The case of
- the search may also be selected, sensitive or insensitive. The case only
- applies to the letters A-Z whether the search type is hexadecimal or Ascii. A
- "Cancel" button is provided to cancel the search function. When doing a
- hexadecimal search, the input digits must be between 0-9 and A-F. An error in
- the search string will be indicated by grey text on monochrome systems and red
- text on color systems. Once the desired string has been entered, the search
- direction is selected by clicking on the "Search Forward" or "Search Backward"
- button as desired. While the search is proceeding, the "Cancel" button will be
- relabelled as a "Stop" button. Clicking on this button will cause the search
- to stop and two additional buttons to appear. They are used to indicate the
- point at which to continue the search from. "Start Point" will cause the
- search to be restarted from the original starting point. "Current Point" will
- cause the search to be restarted from where it was stopped.
-
-
- Edit Dialog Box
-
- This dialog box is used any time the "Edit" button is clicked from a
- display. Two buttons are displayed at the bottom of the dialog box. "Do It"
- will cause any changes made to the current screen to be written to disk or
- memory. Each hexadecimal digit will be checked for validity first and any
- errors will be flagged with grey text on monchrome systems and red text on
- color systems. A "Cancel" button is provided to allow the user to cancel the
- edit function with no changes being made to disk or memory.
-